/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package cube.estructura.per;

import cube.estructura.obj.ClubDeportivoServicio;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;

/**
 *
 * @author Leonardo
 */
public class ClubDeportivoServicioPer
{  
   public static ClubDeportivoServicio obtenerClubDeportivoServicio(Connection con, long xIdClubDeportivo, long xIdServicio) throws Exception
   {
        ClubDeportivoServicio objClubDeportivoServicio = new ClubDeportivoServicio();

        try
        {
            PreparedStatement st=con.prepareStatement("select * " +
                                                       "from CLUB_DEPORTIVO_SERVICIO "+
                                                         "where ID_CLUB_DEPORTIVO=? and "+
                                                         "ID_SERVICIO=? ");
            st.setLong(1, xIdClubDeportivo);
            st.setLong(2, xIdServicio);

            ResultSet resultado = st.executeQuery();

            if(resultado.next())
            {
                objClubDeportivoServicio.setIdClubDeportivo(resultado.getLong("ID_CLUB_DEPORTIVO"));
                objClubDeportivoServicio.setIdServicio(resultado.getLong("ID_SERVICIO"));
            }
        }
        catch (SQLException ex)
        {
            throw new Exception("Persistencia--> " + ex.getMessage());
        }
        return objClubDeportivoServicio;
   }

   public static boolean existeClubDeportivoServicio(Connection con, long xIdClubDeportivo, long xIdServicio) throws Exception
   {
        try
        {
            PreparedStatement st=con.prepareStatement("select count(*) as EXISTE " +
                                                      "from CLUB_DEPORTIVO_SERVICIO " +
                                                         "where ID_CLUB_DEPORTIVO=? and "+
                                                         "ID_SERVICIO=? ");

            st.setLong(1, xIdClubDeportivo);
            st.setLong(2, xIdServicio);

            ResultSet resultado = st.executeQuery();

            if (resultado.next())
            {
                if (resultado.getInt("EXISTE")==0)
                {
                    return false;
                }
                else
                {
                    return true;
                }
            }
        }
        catch (SQLException ex)
        {
            throw new Exception("Persistencia--> " + ex.getMessage());
        }
        return false;
   }

   public static ArrayList<ClubDeportivoServicio> obtenerColeccionClubDeportivoServicio(Connection con) throws Exception
   {
        ArrayList colClubDeportivoServicio = new ArrayList();

        try
        {
            PreparedStatement st=con.prepareStatement("select * " +
                                                      "from CLUB_DEPORTIVO_SERVICIO");

            ResultSet resultado = st.executeQuery();

            while (resultado.next())
            {
                ClubDeportivoServicio objClubDeportivoServicio = new ClubDeportivoServicio();

                objClubDeportivoServicio.setIdClubDeportivo(resultado.getLong("ID_CLUB_DEPORTIVO"));
                objClubDeportivoServicio.setIdServicio(resultado.getLong("ID_SERVICIO"));

                colClubDeportivoServicio.add(objClubDeportivoServicio);
            }
        }
        catch (SQLException ex)
        {
            throw new Exception("Persistencia--> " + ex.getMessage());
        }
        return colClubDeportivoServicio;
    }

    public static void altaClubDeportivoServicio(Connection con, ClubDeportivoServicio xObjClubDeportivoServicio) throws Exception
    {
        try
        {
            PreparedStatement st=con.prepareStatement("insert into CLUB_DEPORTIVO_SERVICIO " +
                                                      "values (?,?)");

            st.setLong(1, xObjClubDeportivoServicio.getIdClubDeportivo());
            st.setLong(2, xObjClubDeportivoServicio.getIdServicio());

            st.executeUpdate();
        }
        catch (SQLException ex)
        {
            throw new Exception("Persistencia--> " + ex.getMessage());
        }
    }

    public static void bajaClubDeportivoServicio(Connection con, ClubDeportivoServicio xObjClubDeportivoServicio) throws Exception
    {
        try
        {
            PreparedStatement st=con.prepareStatement("delete from CLUB_DEPORTIVO_SERVICIO " +
                                                         "where ID_CLUB_DEPORTIVO=? and "+
                                                         "ID_SERVICIO=? ");

            st.setLong(1, xObjClubDeportivoServicio.getIdClubDeportivo());
            st.setLong(2, xObjClubDeportivoServicio.getIdServicio());

            st.executeUpdate();
        }
        catch (SQLException ex)
        {
            throw new Exception("Persistencia--> " + ex.getMessage());
        }
    }

    public static void modificaClubDeportivoServicio(Connection con, ClubDeportivoServicio xObjClubDeportivoServicio) throws Exception
    {
        try
        {
            PreparedStatement st=con.prepareStatement("update CLUB_DEPORTIVO_SERVICIO " +
                                                         "where ID_CLUB_DEPORTIVO=? and "+
                                                         "ID_SERVICIO=? ");

            st.setLong(1, xObjClubDeportivoServicio.getIdClubDeportivo());
            st.setLong(2, xObjClubDeportivoServicio.getIdServicio());

            st.executeUpdate();
        }
        catch (SQLException ex)
        {
            throw new Exception("Persistencia--> " + ex.getMessage());
        }
    }
}
